식별자 규칙
소목차
Welcome to Mathit!
M
Everywhere Mathit!
웹 플레이그라운드
CLI 설치
창의적으로 생각해요
기하학적 사고
알고리즘 퍼즐
수학적 모델링
논리 패러독스
패턴 탐색
모르겠으면 모두와 함께
euler_fan · 5분 전
Mathit 수식 엔진에서 다변수 미분 최적화할 때 어떤 옵션을 주나요?
matrix_dev · 32분 전
LaTeX 기반 표기법과 Mathit DSL 간 변환 벤치마크 공유합니다.
오픈되지 않았어요
AI에게 물어봐도 좋아요
보내기

식별자 규칙

기초 개념 / 식별자 규칙

1.1 식별자 규칙

Mathit 파서는 변수 이름의 첫 글자 대소문자를 보고 해당 데이터가 시각적 형태를 가진 기하 객체인지, 수치 계산에 쓰이는 스칼라 값인지 즉시 판별합니다. 이 규칙은 단순한 코딩 스타일 권장 사항이 아니라 문법 오류를 결정하는 강제 규약입니다.

대문자 식별자

알파벳 대문자로 시작하는 이름은 화면에 그려질 수 있는 형태를 가진 기하학적 객체에만 사용합니다. 점, 선분, 원, 다각형, 베지에 곡선, 3D 입체 등이 모두 여기에 해당합니다.

복사
A = (1, 2)
P1 = (3, 5)
Circ = circle(center=A, r=2)
Poly = poly(A--B--C)
BaseLine = line(A--B)

대문자로 선언된 객체는 고유한 기하학적 좌표 정보를 가지며, -- 연결 연산자를 통해 다른 점과 이어지거나 poly:, line: 같은 렌더링 지시어의 대상이 될 수 있습니다. 만약 점의 좌표를 정의하면서 소문자로 시작하면, 파서는 이를 화면에 렌더링 가능한 점 객체로 등록하지 않습니다.

소문자 식별자

알파벳 소문자로 시작하는 이름은 크기와 수치 값만 가진 스칼라, 파라미터, 수학 함수에 사용합니다.

복사
r = 3.5
len = 10
alpha = 45deg
f(x) = x^2 - 2*x + 1
g(t) = 2*cos(t)

소문자로 정의된 식별자는 다른 계산식의 파라미터로 대입되거나 기하 함수의 인자로 전달될 수는 있지만, 그 자체로 선을 연결하거나 꼭짓점 라벨을 달 수는 없습니다.

잘못된 식별자 사용 사례

식별자 규칙을 어겼을 때 발생하는 문제들을 확인합니다.

첫 번째는 점을 소문자로 선언하는 경우입니다.

복사
// 잘못된 코드
p = (2, 3)
q = (5, 3)
line: p--q

위 코드는 오류를 일으킵니다. p와 q는 소문자로 시작하여 단순 2차원 수치 순서쌍으로 파싱되었기 때문에, 기하 연결 연산자 --를 사용할 수 없습니다. 반드시 P, Q와 같이 대문자로 선언해야 합니다.

두 번째는 수치 변수를 대문자로 선언하는 경우입니다.

복사
// 잘못된 코드
Radius = 5
C = circle(center=(0,0), r=Radius)

수치 변수를 대문자로 시작하면 파서의 기하 객체 테이블에 등록을 시도하다가 좌표 데이터가 없는 스칼라 값이 들어와 경고가 발생하거나 타입 불일치 에러를 냅니다. 반지름, 각도, 길이와 같은 수치 파라미터는 radius = 5처럼 반드시 소문자로 시작해야 합니다.

이름 표기 규칙

식별자에는 알파벳, 숫자, 밑줄(_)을 조합하여 사용할 수 있습니다. 단, 숫자로 이름을 시작할 수는 없습니다.

올바른 표기: P1, Point_A, Circ_sub, len_x, theta_1

잘못된 표기: 1P, 2_Point, my-len (하이픈은 뺄셈 연산자로 처리됨)

취소